package top.bugger168.content.service;

import top.bugger168.content.model.dto.CoursePreviewDto;
import top.bugger168.content.model.po.CoursePublish;

import java.io.File;

/**
 *  课程预览、发布接口
 */
public interface CoursePublishService {
    /**
     *  获取课程预览信息
     * @param courseId 课程id
     * @return top.bugger168.content.model.dto.CoursePreviewDto
     */
    CoursePreviewDto getCoursePreviewInfo(Long courseId);

    /**
     *  提交审核
     * @param courseId  课程id
     */
    void commitAudit(Long companyId,Long courseId);

    /**
     *  课程发布接口
     * @param companyId 机构id
     * @param courseId 课程id
     */
    void publish(Long companyId,Long courseId);

    /**
     *  课程下架接口
     * @param companyId 机构id
     * @param courseId 课程id
     */
    void offline(Long companyId,Long courseId);

    /**
     *  课程静态化
     * @param courseId  课程id
     * @return File 静态化文件
     */
    File generateCourseHtml(Long courseId);
    /**
     *  上传课程静态化页面
     * @param file  静态化文件
     */
    void  uploadCourseHtml(Long courseId,File file);

    /**
     * 查询课程发布信息
     * @param courseId 课程id
     * @return 课程发布信息
     */
    CoursePublish getCoursePublish(Long courseId);

}